<?php
use think\facade\Config;
class Upload
{
	/**
	 * 文件上传
	 * @param $fileName 表单名称
	 * @param $path 存放的路径
	 * @param $size 文件大小限制 单位:字节
	 * @param $ext 文件后缀，多个用逗号分割或者数组
	 * @return \think\response\Json
	 */
	public static function FileUpload($fileName = 'imageFile',$path = 'test',$size = 1024*1024*1,$ext = 'jpg,png'){
		try {
			$file = request()->file($fileName);// 获取表单上传文件 例如上传了001.jpg
			$basicpath = config::pull('imagesetting')['basic_path'];
			// 移动到框架应用根目录/uploads/ 目录下

			$info = $file->validate(['size'=>$size,'ext'=>$ext])->move($basicpath.$path);
			if($info){
				// 成功上传后 获取上传信息
				return ['code'=>1,'data'=>[
					'file_path'=>$info->getpathName(),
				],'msg'=>'成功'];
			}else{
				// 上传失败获取错误信息
				return ['code'=>-1,'data'=>null,'msg'=>$file->getError()];
			}
		}catch (\Exception $e){
			return ['code'=>-1,'data'=>null,'msg'=>$e->getMessage()];
		}
	}

}